#pragma once

using namespace System;

ref class Property
{
public:
	Property(System::Collections::ArrayList^ propertiesContainer);
	virtual ~Property(void);

	virtual property String^ Value
	{
		virtual String^ get()  { return m_Value; }
		virtual void set(String^ val){m_Value = val;}
	}

	virtual property String^ guid
	{
		virtual String^ get()  { return m_GUID; }
		virtual void set(String^ val){m_GUID = val;}
	}

	virtual void setValue(void *provider) {};
	

protected:
	String^ m_Value;
	String^ m_GUID;
};
